<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>

    <style>
        
        div{
            width: 300px;
            height: 200px;
            background: green;

            /* 开发中使用浮动，而不使用display来改变默认的显示方式，防止回车空格间隙问题 */
            /* 将默认的div块级显示，变为inline的行内标签，无法设置宽高 */
            display: inline;

            /* 内敛块，一行显示多个，可以设置宽高 */
            display: inline-block;
        }

        span{
            width: 500px;
            height: 300px;
            background: red;

            /* 将默认的span行内标签显示为快级标签，可以设置宽高 */
            display: block;
        }

        /* 使用浮动来使块级表现在一行显示，float = left */
        /* 一个元素设置了浮动，那么浏览器就认为该元素不再占用原来的位置空间，可能会显示浮在另一个元素上面 */
        .box1{
            width: 100px;
            height: 100px;
            background: green;
            float: left;
        }

        .box2{
            width: 200px;
            height: 200px;
            background: blue;
            float: left;
        }

        .box3{
            width: 300px;
            height: 300px;
            background: red;
        }
    
    </style>
</head>
<body>
    
    <!-- 块级标签和行内标签的显示效果可以通过css中的display控制 -->
    <!-- 换行的块级标签，写宽高有效，如果不写的话，其宽高就是父级的宽高 -->
    <div>div</div>

    <!-- 显示效果在这两个div之间有一个小小的间隔，原因是，div之间有一个回车，浏览器把它认为是一个空格 -->
    <!-- 通过浮动来解决，只要行内左右有空间，就会无缝隙的放置，防止标签换行显示间隔的问题 -->
    <div>div</div>

    <!-- 不换行的内联标签，写宽高无效，行内标签的宽高取决于内容的大小 -->
    <span>span</span>
    <span>span</span>

    <div class="box1"></div>
    <div class="box2"></div>
    <div class="box3"></div>

</body>
</html>